From 15af6c2201c09c2fd0f13f43c3c581165035a909 Mon Sep 17 00:00:00 2001 From: robertlipe Date: Tue, 6 Aug 2013 22:23:56 +0000 Subject: [PATCH] Remove remnants of avltree. --- gpsbabel/GPSBabel.pro | 3 +- gpsbabel/GPSBabel.xcodeproj/project.pbxproj | 18 +- .../UserInterfaceState.xcuserstate | Bin 132372 -> 154804 bytes gpsbabel/Makefile.in | 553 ++++++------ gpsbabel/avltree.cc | 790 ------------------ gpsbabel/avltree.h | 97 --- gpsbabel/msvc/GPSBabel.vcxproj | 2 - 7 files changed, 249 insertions(+), 1214 deletions(-) delete mode 100644 gpsbabel/avltree.cc delete mode 100644 gpsbabel/avltree.h diff --git a/gpsbabel/GPSBabel.pro b/gpsbabel/GPSBabel.pro index 57fb2d1e8..445717b77 100644 --- a/gpsbabel/GPSBabel.pro +++ b/gpsbabel/GPSBabel.pro @@ -55,11 +55,10 @@ SUPPORT = queue.cc route.cc waypt.cc filter_vecs.cc util.cc vecs.cc mkshort.cc \ csv_util.cc strptime.c grtcirc.cc vmem.cc util_crc.cc xmlgeneric.cc \ uuid.cc formspec.cc xmltag.cc cet.cc cet_util.cc fatal.cc rgbcolors.cc \ inifile.cc garmin_fs.cc gbsleep.cc units.cc gbser.cc \ - gbfile.cc parse.cc avltree.cc session.cc main.cc globals.cc + gbfile.cc parse.cc session.cc main.cc globals.cc HEADERS = \ an1sym.h \ - avltree.h \ cet.h \ cet/ansi_x3_4_1968.h \ cet/atarist.h \ diff --git a/gpsbabel/GPSBabel.xcodeproj/project.pbxproj b/gpsbabel/GPSBabel.xcodeproj/project.pbxproj index 3d63ac10c..c711af6ef 100644 --- a/gpsbabel/GPSBabel.xcodeproj/project.pbxproj +++ b/gpsbabel/GPSBabel.xcodeproj/project.pbxproj @@ -55,7 +55,6 @@ 31C7539FD6571DA2E853D115 /* nukedata.cc in Build Sources */ = {isa = PBXBuildFile; fileRef = 8E2A6D3F1B0F186866892D1A /* nukedata.cc */; settings = {ATTRIBUTES = (); }; }; 3341888BC97300D78D00867C /* xhtmlent.cc in Build Sources */ = {isa = PBXBuildFile; fileRef = 5E17FF64DC5F6F9D05334035 /* xhtmlent.cc */; settings = {ATTRIBUTES = (); }; }; 347D3679B6F1F7929773F65B /* gpsdevice_ser.cc in Build Sources */ = {isa = PBXBuildFile; fileRef = 48EC154B9F40DEE39DB513EA /* gpsdevice_ser.cc */; settings = {ATTRIBUTES = (); }; }; - 3642594AA793FB5D20FFE227 /* avltree.cc in Build Sources */ = {isa = PBXBuildFile; fileRef = 07CE2C504FD6B17475B9865D /* avltree.cc */; settings = {ATTRIBUTES = (); }; }; 3676E26586DD9530CFC67BDA /* xmlgeneric.cc in Build Sources */ = {isa = PBXBuildFile; fileRef = C68AD0BAB506B85906B50E49 /* xmlgeneric.cc */; settings = {ATTRIBUTES = (); }; }; 3A7B28E55EDC37096D2258E6 /* easygps.cc in Build Sources */ = {isa = PBXBuildFile; fileRef = C0F02A9CF60DDE07C74D0D15 /* easygps.cc */; settings = {ATTRIBUTES = (); }; }; 3B412A97F7E962F93049635D /* inifile.cc in Build Sources */ = {isa = PBXBuildFile; fileRef = 9F585F4587ECA6DFB6832635 /* inifile.cc */; settings = {ATTRIBUTES = (); }; }; @@ -205,7 +204,7 @@ EBED5AAEE398BDF7F9CF01AC /* axim_gpb.cc in Build Sources */ = {isa = PBXBuildFile; fileRef = AED3F73C9E850301C5F9E9F2 /* axim_gpb.cc */; settings = {ATTRIBUTES = (); }; }; EC364AB6175C11EE00D370A8 /* bend.cc in Build Sources */ = {isa = PBXBuildFile; fileRef = EC364AB5175C11EE00D370A8 /* bend.cc */; }; EC53883B2B75F9118BBEAEE6 /* shpopen.c in Build Sources */ = {isa = PBXBuildFile; fileRef = 38A17A3419708B2842F18281 /* shpopen.c */; settings = {ATTRIBUTES = (); }; }; - ECCFD60F175C195300558D26 /* gpsutil.cc in Build Sources */ = {isa = PBXBuildFile; fileRef = ECCFD60E175C195300558D26 /* gpsutil.cc */; }; + ECCFD60F175C195300558D26 /* jgpsutil.cc in Build Sources */ = {isa = PBXBuildFile; fileRef = ECCFD60E175C195300558D26 /* jgpsutil.cc */; }; EDCD1D87552CA871524D69E9 /* transform.cc in Build Sources */ = {isa = PBXBuildFile; fileRef = 73BF0B9F148276BC1CAC45FA /* transform.cc */; settings = {ATTRIBUTES = (); }; }; EEFEDBC895201A4877507B5B /* lowranceusr.cc in Build Sources */ = {isa = PBXBuildFile; fileRef = 11496F48D97CCA586E31D6F9 /* lowranceusr.cc */; settings = {ATTRIBUTES = (); }; }; F055F3DC27B7FD46C343E15E /* gpslibusb.cc in Build Sources */ = {isa = PBXBuildFile; fileRef = 4A7EF0037AB628B7C6BD36C4 /* gpslibusb.cc */; settings = {ATTRIBUTES = (); }; }; @@ -228,7 +227,6 @@ /* Begin PBXFileReference section */ 0360A01B17BA5DDD9B8BF5CD /* gpscom.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = gpscom.cc; path = jeeps/gpscom.cc; sourceTree = SOURCE_ROOT; }; - 07CE2C504FD6B17475B9865D /* avltree.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = avltree.cc; sourceTree = SOURCE_ROOT; }; 0A54DE5DF76CF036EC375E3F /* overlay.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = overlay.cc; sourceTree = SOURCE_ROOT; }; 0BD1513DE96D6BE42A46F209 /* tmpro.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = tmpro.cc; sourceTree = SOURCE_ROOT; }; 0CABB43C7EA15628748C639D /* stmsdf.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = stmsdf.cc; sourceTree = SOURCE_ROOT; }; @@ -425,9 +423,8 @@ EB67AC0AABBAD839571D92CB /* gopal.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = gopal.cc; sourceTree = SOURCE_ROOT; }; EC364AB3175C11AF00D370A8 /* GPSBabel */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = GPSBabel; sourceTree = BUILT_PRODUCTS_DIR; }; EC364AB5175C11EE00D370A8 /* bend.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = bend.cc; sourceTree = SOURCE_ROOT; }; - ECCFD60E175C195300558D26 /* gpsutil.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = gpsutil.cc; path = "/Users/robertlipe/src/gpsbabel-reallyvirgin/jeeps/gpsutil.cc"; sourceTree = ""; }; + ECCFD60E175C195300558D26 /* jgpsutil.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = jgpsutil.cc; path = "/Users/robertlipe/src/gpsbabel-reallyvirgin/jeeps/jgpsutil.cc"; sourceTree = ""; }; ECE352B9175C42AB00FC07CB /* an1sym.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = an1sym.h; sourceTree = SOURCE_ROOT; }; - ECE352BA175C42AB00FC07CB /* avltree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = avltree.h; sourceTree = SOURCE_ROOT; }; ECE352BB175C42AB00FC07CB /* cet_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cet_util.h; sourceTree = SOURCE_ROOT; }; ECE352BC175C42AB00FC07CB /* cet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cet.h; sourceTree = SOURCE_ROOT; }; ECE352BD175C42AB00FC07CB /* csv_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = csv_util.h; sourceTree = SOURCE_ROOT; }; @@ -438,11 +435,9 @@ ECE352C2175C42AB00FC07CB /* garmin_fs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = garmin_fs.h; sourceTree = SOURCE_ROOT; }; ECE352C3175C42AB00FC07CB /* garmin_gpi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = garmin_gpi.h; sourceTree = SOURCE_ROOT; }; ECE352C4175C42AB00FC07CB /* garmin_tables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = garmin_tables.h; sourceTree = SOURCE_ROOT; }; - ECE352C5175C42AB00FC07CB /* gbdatetime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbdatetime.h; sourceTree = SOURCE_ROOT; }; ECE352C6175C42AB00FC07CB /* gbfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbfile.h; sourceTree = SOURCE_ROOT; }; ECE352C7175C42AB00FC07CB /* gbser_private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbser_private.h; sourceTree = SOURCE_ROOT; }; ECE352C8175C42AB00FC07CB /* gbser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbser.h; sourceTree = SOURCE_ROOT; }; - ECE352C9175C42AB00FC07CB /* gbtypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gbtypes.h; sourceTree = SOURCE_ROOT; }; ECE352CA175C42AB00FC07CB /* grtcirc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = grtcirc.h; sourceTree = SOURCE_ROOT; }; ECE352CB175C42AB00FC07CB /* height.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = height.h; sourceTree = SOURCE_ROOT; }; ECE352CC175C42AB00FC07CB /* holux.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = holux.h; sourceTree = SOURCE_ROOT; }; @@ -498,7 +493,6 @@ isa = PBXGroup; children = ( ECE352B9175C42AB00FC07CB /* an1sym.h */, - ECE352BA175C42AB00FC07CB /* avltree.h */, ECE352BB175C42AB00FC07CB /* cet_util.h */, ECE352BC175C42AB00FC07CB /* cet.h */, ECE352BD175C42AB00FC07CB /* csv_util.h */, @@ -509,11 +503,9 @@ ECE352C2175C42AB00FC07CB /* garmin_fs.h */, ECE352C3175C42AB00FC07CB /* garmin_gpi.h */, ECE352C4175C42AB00FC07CB /* garmin_tables.h */, - ECE352C5175C42AB00FC07CB /* gbdatetime.h */, ECE352C6175C42AB00FC07CB /* gbfile.h */, ECE352C7175C42AB00FC07CB /* gbser_private.h */, ECE352C8175C42AB00FC07CB /* gbser.h */, - ECE352C9175C42AB00FC07CB /* gbtypes.h */, ECE352CA175C42AB00FC07CB /* grtcirc.h */, ECE352CB175C42AB00FC07CB /* height.h */, ECE352CC175C42AB00FC07CB /* holux.h */, @@ -623,7 +615,7 @@ 48EC154B9F40DEE39DB513EA /* gpsdevice_ser.cc */, D4CFA2DEF9C8934F1EE76ED2 /* gpsdevice_usb.cc */, C383177DE7874C1F821D8C2D /* gpsrqst.cc */, - ECCFD60E175C195300558D26 /* gpsutil.cc */, + ECCFD60E175C195300558D26 /* jgpsutil.cc */, 328FD0E11330E7B9816CDFE8 /* gpssend.cc */, 8FAE4FC5CFEFE47CA12BE42E /* gpsserial.cc */, 2F993A753D7FE297E1AB1237 /* gpsusbread.cc */, @@ -639,7 +631,6 @@ D72960207933076DA4EF41C7 /* alan.cc */, FDAC005E8FCA38479516787F /* an1.cc */, 1A57B649DDE25BC4E51A04FC /* arcdist.cc */, - 07CE2C504FD6B17475B9865D /* avltree.cc */, AED3F73C9E850301C5F9E9F2 /* axim_gpb.cc */, 9CFC21B04554B7E59783138E /* bcr.cc */, EC364AB5175C11EE00D370A8 /* bend.cc */, @@ -1075,7 +1066,6 @@ 6F79128314B37D76ED1392F9 /* gbser.cc in Build Sources */, 99CBF7AAF19463D4AB9891C7 /* gbfile.cc in Build Sources */, A7ED1C6D67C698E474225122 /* parse.cc in Build Sources */, - 3642594AA793FB5D20FFE227 /* avltree.cc in Build Sources */, 3E2EEBA26F8B29A22DCF40BC /* session.cc in Build Sources */, 0F92C7DE5A6D0ECD279B47C7 /* main.cc in Build Sources */, A7541BAE9601B73FD2E71B20 /* globals.cc in Build Sources */, @@ -1110,7 +1100,7 @@ 6DE41B3F5331AE202449C7A1 /* gpsusbsend.cc in Build Sources */, BE5F6FAE9B210BB1028C67C6 /* gpsusbcommon.cc in Build Sources */, EC364AB6175C11EE00D370A8 /* bend.cc in Build Sources */, - ECCFD60F175C195300558D26 /* gpsutil.cc in Build Sources */, + ECCFD60F175C195300558D26 /* jgpsutil.cc in Build Sources */, ); name = "Build Sources"; runOnlyForDeploymentPostprocessing = 0; diff --git a/gpsbabel/GPSBabel.xcodeproj/project.xcworkspace/xcuserdata/robertlipe.xcuserdatad/UserInterfaceState.xcuserstate b/gpsbabel/GPSBabel.xcodeproj/project.xcworkspace/xcuserdata/robertlipe.xcuserdatad/UserInterfaceState.xcuserstate index fc25bd1ba8f2c1743605ed6b395543c0462f1053..8dfffb58d7fdbcdec1c1f1be52e6b556ea57d831 100644 GIT binary patch literal 154804 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

r$ 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 QAN;@n`v3oPXl$1M0}=5ykpKVy diff --git a/gpsbabel/Makefile.in b/gpsbabel/Makefile.in index 21eec5cb3..e30243ae5 100644 --- a/gpsbabel/Makefile.in +++ b/gpsbabel/Makefile.in @@ -115,7 +115,7 @@ LIBOBJS = queue.o route.o waypt.o filter_vecs.o util.o vecs.o mkshort.o \ csv_util.o strptime.o grtcirc.o vmem.o util_crc.o xmlgeneric.o \ uuid.o formspec.o xmltag.o cet.o cet_util.o fatal.o rgbcolors.o \ inifile.o garmin_fs.o gbsleep.o units.o @GBSER@ gbser.o \ - gbfile.o parse.o avltree.o session.o \ + gbfile.o parse.o session.o \ $(PALM_DB) $(GARMIN) $(JEEPS) $(SHAPE) @ZLIB@ $(FMTS) $(FILTERS) OBJS = main.o globals.o $(LIBOBJS) @FILEINFO@ @@ -426,9 +426,6 @@ an1.o: an1.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h \ arcdist.o: arcdist.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ filterdefs.h grtcirc.h -avltree.o: avltree.cc avltree.h defs.h config.h queue.h zlib/zlib.h \ - zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h session.h \ - src/core/datetime.h axim_gpb.o: axim_gpb.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h bcr.o: bcr.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h \ @@ -467,11 +464,10 @@ coastexp.o: coastexp.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ xmlgeneric.h uuid.h compegps.o: compegps.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ - csv_util.h jeeps/gpsmath.h jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h \ + csv_util.h jeeps/gpsmath.h jeeps/gps.h jeeps/gpsport.h \ jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ - jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ - jeeps/gpsproj.h + jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h copilot.o: copilot.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ pdbfile.h grtcirc.h @@ -483,22 +479,21 @@ cst.o: cst.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h \ csv_util.o: csv_util.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ csv_util.h grtcirc.h strptime.h jeeps/gpsmath.h jeeps/gps.h \ - jeeps/../defs.h jeeps/gpsport.h jeeps/gpsdevice.h jeeps/gpssend.h \ - jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h \ - jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsmem.h \ - jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h garmin_fs.h \ - jeeps/gps.h xcsv_tokens.gperf + jeeps/gpsport.h jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h \ + jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ + jeeps/gpsfmt.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ + jeeps/gpsproj.h garmin_fs.h xcsv_tokens.gperf delbin.o: delbin.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h delgpl.o: delgpl.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h destinator.o: destinator.cc defs.h config.h queue.h zlib/zlib.h \ zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h session.h \ - src/core/datetime.h garmin_fs.h jeeps/gps.h jeeps/../defs.h \ - jeeps/gpsport.h jeeps/gpsdevice.h jeeps/gps.h jeeps/gpssend.h \ - jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h \ - jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsmem.h \ - jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h strptime.h + src/core/datetime.h garmin_fs.h jeeps/gps.h jeeps/gpsport.h \ + jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ + jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ + jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ + jeeps/gpsproj.h strptime.h dg-100.o: dg-100.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ gbser.h @@ -507,11 +502,10 @@ discard.o: discard.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ filterdefs.h dmtlog.o: dmtlog.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ - jeeps/gpsmath.h jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h \ - jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ - jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ - jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ - jeeps/gpsproj.h xmlgeneric.h + jeeps/gpsmath.h jeeps/gps.h jeeps/gpsport.h jeeps/gpsdevice.h \ + jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ + jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmem.h \ + jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h xmlgeneric.h duplicate.o: duplicate.cc defs.h config.h queue.h zlib/zlib.h \ zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h session.h \ src/core/datetime.h filterdefs.h @@ -521,11 +515,11 @@ enigma.o: enigma.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h exif.o: exif.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h \ cet.h cet_util.h inifile.h session.h src/core/datetime.h \ - garmin_tables.h jeeps/gpsmath.h jeeps/gps.h jeeps/../defs.h \ - jeeps/gpsport.h jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h \ - jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ - jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h \ - jeeps/gpsinput.h jeeps/gpsproj.h strptime.h + garmin_tables.h jeeps/gpsmath.h jeeps/gps.h jeeps/gpsport.h \ + jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ + jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ + jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h \ + strptime.h explorist_ini.o: explorist_ini.cc defs.h config.h queue.h zlib/zlib.h \ zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h session.h \ src/core/datetime.h explorist_ini.h @@ -538,19 +532,18 @@ formspec.o: formspec.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h g7towin.o: g7towin.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ - csv_util.h garmin_fs.h jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h \ - jeeps/gpsdevice.h jeeps/gps.h jeeps/gpssend.h jeeps/gpsread.h \ - jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ - jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h \ - jeeps/gpsinput.h jeeps/gpsproj.h garmin_tables.h jeeps/gpsmath.h \ - strptime.h + csv_util.h garmin_fs.h jeeps/gps.h jeeps/gpsport.h jeeps/gpsdevice.h \ + jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ + jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h \ + jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h \ + garmin_tables.h strptime.h garmin.o: garmin.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ - grtcirc.h jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h jeeps/gpsdevice.h \ - jeeps/gps.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ - jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ - jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ - jeeps/gpsproj.h garmin_tables.h garmin_fs.h garmin_device_xml.h + grtcirc.h jeeps/gps.h jeeps/gpsport.h jeeps/gpsdevice.h \ + jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ + jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h \ + jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h \ + garmin_tables.h garmin_fs.h garmin_device_xml.h garmin_device_xml.o: garmin_device_xml.cc defs.h config.h queue.h \ zlib/zlib.h zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h session.h \ src/core/datetime.h xmlgeneric.h garmin_device_xml.h @@ -559,33 +552,31 @@ garmin_fit.o: garmin_fit.cc defs.h config.h queue.h zlib/zlib.h \ src/core/datetime.h garmin_fs.o: garmin_fs.cc defs.h config.h queue.h zlib/zlib.h \ zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h session.h \ - src/core/datetime.h garmin_fs.h jeeps/gps.h jeeps/../defs.h \ - jeeps/gpsport.h jeeps/gpsdevice.h jeeps/gps.h jeeps/gpssend.h \ - jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h \ - jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsmem.h \ - jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h garmin_tables.h + src/core/datetime.h garmin_fs.h jeeps/gps.h jeeps/gpsport.h \ + jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ + jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ + jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ + jeeps/gpsproj.h garmin_tables.h garmin_gpi.o: garmin_gpi.cc defs.h config.h queue.h zlib/zlib.h \ zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h session.h \ - src/core/datetime.h jeeps/gpsmath.h jeeps/gps.h jeeps/../defs.h \ - jeeps/gpsport.h jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h \ - jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ - jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h \ - jeeps/gpsinput.h jeeps/gpsproj.h garmin_fs.h jeeps/gps.h garmin_gpi.h + src/core/datetime.h jeeps/gpsmath.h jeeps/gps.h jeeps/gpsport.h \ + jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ + jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ + jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h \ + garmin_fs.h garmin_gpi.h garmin_tables.o: garmin_tables.cc garmin_tables.h defs.h config.h queue.h \ zlib/zlib.h zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h session.h \ - src/core/datetime.h jeeps/gpsmath.h jeeps/gps.h jeeps/../defs.h \ - jeeps/gpsport.h jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h \ - jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ - jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h \ - jeeps/gpsinput.h jeeps/gpsproj.h + src/core/datetime.h jeeps/gpsmath.h jeeps/gps.h jeeps/gpsport.h \ + jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ + jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ + jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h garmin_txt.o: garmin_txt.cc defs.h config.h queue.h zlib/zlib.h \ zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h session.h \ - src/core/datetime.h csv_util.h garmin_fs.h jeeps/gps.h jeeps/../defs.h \ - jeeps/gpsport.h jeeps/gpsdevice.h jeeps/gps.h jeeps/gpssend.h \ - jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h \ - jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsmem.h \ - jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h garmin_tables.h \ - grtcirc.h jeeps/gpsmath.h strptime.h + src/core/datetime.h csv_util.h garmin_fs.h jeeps/gps.h jeeps/gpsport.h \ + jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ + jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ + jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ + jeeps/gpsproj.h garmin_tables.h grtcirc.h strptime.h garmin_xt.o: garmin_xt.cc defs.h config.h queue.h zlib/zlib.h \ zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h session.h \ src/core/datetime.h @@ -602,28 +593,26 @@ gcdb.o: gcdb.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h \ cet.h cet_util.h inifile.h session.h src/core/datetime.h pdbfile.h gdb.o: gdb.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h \ cet.h cet_util.h inifile.h session.h src/core/datetime.h csv_util.h \ - garmin_fs.h jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h \ - jeeps/gpsdevice.h jeeps/gps.h jeeps/gpssend.h jeeps/gpsread.h \ - jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ - jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h \ - jeeps/gpsinput.h jeeps/gpsproj.h garmin_tables.h grtcirc.h \ - jeeps/gpsmath.h + garmin_fs.h jeeps/gps.h jeeps/gpsport.h jeeps/gpsdevice.h \ + jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ + jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h \ + jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h \ + garmin_tables.h grtcirc.h geo.o: geo.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h \ cet.h cet_util.h inifile.h session.h src/core/datetime.h geoniche.o: geoniche.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ - pdbfile.h jeeps/gpsmath.h jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h \ + pdbfile.h jeeps/gpsmath.h jeeps/gps.h jeeps/gpsport.h \ jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ - jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ - jeeps/gpsproj.h garmin_tables.h + jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h \ + garmin_tables.h ggv_log.o: ggv_log.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ - grtcirc.h jeeps/gpsmath.h jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h \ + grtcirc.h jeeps/gpsmath.h jeeps/gps.h jeeps/gpsport.h \ jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ - jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ - jeeps/gpsproj.h + jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h ggv_ovl.o: ggv_ovl.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ grtcirc.h @@ -643,11 +632,11 @@ googledir.o: googledir.cc defs.h config.h queue.h zlib/zlib.h \ src/core/datetime.h xmlgeneric.h gopal.o: gopal.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ - csv_util.h strptime.h jeeps/gpsmath.h jeeps/gps.h jeeps/../defs.h \ - jeeps/gpsport.h jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h \ - jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ - jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h \ - jeeps/gpsinput.h jeeps/gpsproj.h grtcirc.h + csv_util.h strptime.h jeeps/gpsmath.h jeeps/gps.h jeeps/gpsport.h \ + jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ + jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ + jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h \ + grtcirc.h gpilots.o: gpilots.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ pdbfile.h garmin_tables.h @@ -661,21 +650,20 @@ gpsutil.o: gpsutil.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ magellan.h gpx.o: gpx.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h \ cet.h cet_util.h inifile.h session.h src/core/datetime.h garmin_fs.h \ - jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h jeeps/gpsdevice.h \ - jeeps/gps.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ - jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ - jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ - jeeps/gpsproj.h src/core/xmlstreamwriter.h + jeeps/gps.h jeeps/gpsport.h jeeps/gpsdevice.h jeeps/gpssend.h \ + jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h \ + jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsmem.h \ + jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h \ + src/core/xmlstreamwriter.h grtcirc.o: grtcirc.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ grtcirc.h gtm.o: gtm.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h \ cet.h cet_util.h inifile.h session.h src/core/datetime.h \ - jeeps/gpsmath.h jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h \ - jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ - jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ - jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ - jeeps/gpsproj.h + jeeps/gpsmath.h jeeps/gps.h jeeps/gpsport.h jeeps/gpsdevice.h \ + jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ + jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmem.h \ + jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h gtrnctr.o: gtrnctr.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ xmlgeneric.h @@ -692,14 +680,13 @@ hsa_ndv.o: hsa_ndv.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h html.o: html.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h \ cet.h cet_util.h inifile.h session.h src/core/datetime.h \ - jeeps/gpsmath.h jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h \ - jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ - jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ - jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ - jeeps/gpsproj.h + jeeps/gpsmath.h jeeps/gps.h jeeps/gpsport.h jeeps/gpsdevice.h \ + jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ + jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmem.h \ + jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h humminbird.o: humminbird.cc defs.h config.h queue.h zlib/zlib.h \ zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h session.h \ - src/core/datetime.h avltree.h + src/core/datetime.h igc.o: igc.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h \ cet.h cet_util.h inifile.h session.h src/core/datetime.h ignrando.o: ignrando.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ @@ -720,165 +707,131 @@ interpolate.o: interpolate.cc defs.h config.h queue.h zlib/zlib.h \ itracku.o: itracku.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ gbser.h -jeeps/gpsapp.o: jeeps/gpsapp.cc jeeps/gps.h jeeps/../defs.h \ - jeeps/../config.h jeeps/../queue.h jeeps/../zlib/zlib.h \ - jeeps/../zlib/zconf.h jeeps/../gbfile.h jeeps/../defs.h jeeps/../cet.h \ - jeeps/../cet_util.h jeeps/../inifile.h jeeps/../session.h \ - jeeps/../src/core/datetime.h jeeps/gpsport.h jeeps/gpsdevice.h \ +jeeps/gpsapp.o: jeeps/gpsapp.cc jeeps/gps.h jeeps/../defs.h config.h \ + queue.h zlib/zlib.h zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h \ + session.h src/core/datetime.h jeeps/gpsport.h jeeps/gpsdevice.h \ jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h \ jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h \ jeeps/garminusb.h jeeps/gpsusbint.h -jeeps/gpscom.o: jeeps/gpscom.cc jeeps/gps.h jeeps/../defs.h \ - jeeps/../config.h jeeps/../queue.h jeeps/../zlib/zlib.h \ - jeeps/../zlib/zconf.h jeeps/../gbfile.h jeeps/../defs.h jeeps/../cet.h \ - jeeps/../cet_util.h jeeps/../inifile.h jeeps/../session.h \ - jeeps/../src/core/datetime.h jeeps/gpsport.h jeeps/gpsdevice.h \ +jeeps/gpscom.o: jeeps/gpscom.cc jeeps/gps.h jeeps/../defs.h config.h \ + queue.h zlib/zlib.h zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h \ + session.h src/core/datetime.h jeeps/gpsport.h jeeps/gpsdevice.h \ jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h \ jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h jeeps/gpsdevice.o: jeeps/gpsdevice.cc jeeps/gps.h jeeps/../defs.h \ - jeeps/../config.h jeeps/../queue.h jeeps/../zlib/zlib.h \ - jeeps/../zlib/zconf.h jeeps/../gbfile.h jeeps/../defs.h jeeps/../cet.h \ - jeeps/../cet_util.h jeeps/../inifile.h jeeps/../session.h \ - jeeps/../src/core/datetime.h jeeps/gpsport.h jeeps/gpsdevice.h \ - jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ - jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h \ - jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h \ - jeeps/gpsserial.h + config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h cet.h cet_util.h \ + inifile.h session.h src/core/datetime.h jeeps/gpsport.h \ + jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ + jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ + jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ + jeeps/gpsproj.h jeeps/gpsserial.h jeeps/gpsdevice_ser.o: jeeps/gpsdevice_ser.cc jeeps/gps.h jeeps/../defs.h \ - jeeps/../config.h jeeps/../queue.h jeeps/../zlib/zlib.h \ - jeeps/../zlib/zconf.h jeeps/../gbfile.h jeeps/../defs.h jeeps/../cet.h \ - jeeps/../cet_util.h jeeps/../inifile.h jeeps/../session.h \ - jeeps/../src/core/datetime.h jeeps/gpsport.h jeeps/gpsdevice.h \ - jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ - jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h \ - jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h \ - jeeps/gpsserial.h + config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h cet.h cet_util.h \ + inifile.h session.h src/core/datetime.h jeeps/gpsport.h \ + jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ + jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ + jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ + jeeps/gpsproj.h jeeps/gpsserial.h jeeps/gpsdevice_usb.o: jeeps/gpsdevice_usb.cc jeeps/gps.h jeeps/../defs.h \ - jeeps/../config.h jeeps/../queue.h jeeps/../zlib/zlib.h \ - jeeps/../zlib/zconf.h jeeps/../gbfile.h jeeps/../defs.h jeeps/../cet.h \ - jeeps/../cet_util.h jeeps/../inifile.h jeeps/../session.h \ - jeeps/../src/core/datetime.h jeeps/gpsport.h jeeps/gpsdevice.h \ - jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ - jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h \ - jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h \ - jeeps/garminusb.h jeeps/gpsusbint.h jeeps/gpsusbcommon.h -jeeps/gpslibusb.o: jeeps/gpslibusb.cc config.h mac/libusb/usb.h \ - jeeps/gps.h jeeps/../defs.h jeeps/../config.h jeeps/../queue.h \ - jeeps/../zlib/zlib.h jeeps/../zlib/zconf.h jeeps/../gbfile.h \ - jeeps/../defs.h jeeps/../cet.h jeeps/../cet_util.h jeeps/../inifile.h \ - jeeps/../session.h jeeps/../src/core/datetime.h jeeps/gpsport.h \ + config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h cet.h cet_util.h \ + inifile.h session.h src/core/datetime.h jeeps/gpsport.h \ jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ - jeeps/gpsproj.h jeeps/garminusb.h jeeps/gpsusbcommon.h \ - jeeps/../garmin_device_xml.h -jeeps/gpsmath.o: jeeps/gpsmath.cc jeeps/gps.h jeeps/../defs.h \ - jeeps/../config.h jeeps/../queue.h jeeps/../zlib/zlib.h \ - jeeps/../zlib/zconf.h jeeps/../gbfile.h jeeps/../defs.h jeeps/../cet.h \ - jeeps/../cet_util.h jeeps/../inifile.h jeeps/../session.h \ - jeeps/../src/core/datetime.h jeeps/gpsport.h jeeps/gpsdevice.h \ + jeeps/gpsproj.h jeeps/garminusb.h jeeps/gpsusbint.h \ + jeeps/gpsusbcommon.h +jeeps/gpslibusb.o: jeeps/gpslibusb.cc config.h mac/libusb/usb.h \ + jeeps/gps.h jeeps/../defs.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h \ + cet.h cet_util.h inifile.h session.h src/core/datetime.h \ + jeeps/gpsport.h jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h \ + jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ + jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h \ + jeeps/gpsinput.h jeeps/gpsproj.h jeeps/garminusb.h \ + jeeps/gpsusbcommon.h jeeps/../garmin_device_xml.h +jeeps/gpsmath.o: jeeps/gpsmath.cc jeeps/gps.h jeeps/../defs.h config.h \ + queue.h zlib/zlib.h zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h \ + session.h src/core/datetime.h jeeps/gpsport.h jeeps/gpsdevice.h \ jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h \ jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h \ jeeps/gpsdatum.h -jeeps/gpsmem.o: jeeps/gpsmem.cc jeeps/gps.h jeeps/../defs.h \ - jeeps/../config.h jeeps/../queue.h jeeps/../zlib/zlib.h \ - jeeps/../zlib/zconf.h jeeps/../gbfile.h jeeps/../defs.h jeeps/../cet.h \ - jeeps/../cet_util.h jeeps/../inifile.h jeeps/../session.h \ - jeeps/../src/core/datetime.h jeeps/gpsport.h jeeps/gpsdevice.h \ +jeeps/gpsmem.o: jeeps/gpsmem.cc jeeps/gps.h jeeps/../defs.h config.h \ + queue.h zlib/zlib.h zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h \ + session.h src/core/datetime.h jeeps/gpsport.h jeeps/gpsdevice.h \ jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h \ jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h -jeeps/gpsprot.o: jeeps/gpsprot.cc jeeps/gps.h jeeps/../defs.h \ - jeeps/../config.h jeeps/../queue.h jeeps/../zlib/zlib.h \ - jeeps/../zlib/zconf.h jeeps/../gbfile.h jeeps/../defs.h jeeps/../cet.h \ - jeeps/../cet_util.h jeeps/../inifile.h jeeps/../session.h \ - jeeps/../src/core/datetime.h jeeps/gpsport.h jeeps/gpsdevice.h \ +jeeps/gpsprot.o: jeeps/gpsprot.cc jeeps/gps.h jeeps/../defs.h config.h \ + queue.h zlib/zlib.h zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h \ + session.h src/core/datetime.h jeeps/gpsport.h jeeps/gpsdevice.h \ jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h \ jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h -jeeps/gpsread.o: jeeps/gpsread.cc jeeps/gps.h jeeps/../defs.h \ - jeeps/../config.h jeeps/../queue.h jeeps/../zlib/zlib.h \ - jeeps/../zlib/zconf.h jeeps/../gbfile.h jeeps/../defs.h jeeps/../cet.h \ - jeeps/../cet_util.h jeeps/../inifile.h jeeps/../session.h \ - jeeps/../src/core/datetime.h jeeps/gpsport.h jeeps/gpsdevice.h \ +jeeps/gpsread.o: jeeps/gpsread.cc jeeps/gps.h jeeps/../defs.h config.h \ + queue.h zlib/zlib.h zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h \ + session.h src/core/datetime.h jeeps/gpsport.h jeeps/gpsdevice.h \ jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h \ jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h \ jeeps/gpsserial.h -jeeps/gpsrqst.o: jeeps/gpsrqst.cc jeeps/gps.h jeeps/../defs.h \ - jeeps/../config.h jeeps/../queue.h jeeps/../zlib/zlib.h \ - jeeps/../zlib/zconf.h jeeps/../gbfile.h jeeps/../defs.h jeeps/../cet.h \ - jeeps/../cet_util.h jeeps/../inifile.h jeeps/../session.h \ - jeeps/../src/core/datetime.h jeeps/gpsport.h jeeps/gpsdevice.h \ +jeeps/gpsrqst.o: jeeps/gpsrqst.cc jeeps/gps.h jeeps/../defs.h config.h \ + queue.h zlib/zlib.h zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h \ + session.h src/core/datetime.h jeeps/gpsport.h jeeps/gpsdevice.h \ jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h \ jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h -jeeps/gpssend.o: jeeps/gpssend.cc jeeps/gps.h jeeps/../defs.h \ - jeeps/../config.h jeeps/../queue.h jeeps/../zlib/zlib.h \ - jeeps/../zlib/zconf.h jeeps/../gbfile.h jeeps/../defs.h jeeps/../cet.h \ - jeeps/../cet_util.h jeeps/../inifile.h jeeps/../session.h \ - jeeps/../src/core/datetime.h jeeps/gpsport.h jeeps/gpsdevice.h \ +jeeps/gpssend.o: jeeps/gpssend.cc jeeps/gps.h jeeps/../defs.h config.h \ + queue.h zlib/zlib.h zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h \ + session.h src/core/datetime.h jeeps/gpsport.h jeeps/gpsdevice.h \ jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h \ jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h \ jeeps/gpsserial.h jeeps/gpsserial.o: jeeps/gpsserial.cc jeeps/gps.h jeeps/../defs.h \ - jeeps/../config.h jeeps/../queue.h jeeps/../zlib/zlib.h \ - jeeps/../zlib/zconf.h jeeps/../gbfile.h jeeps/../defs.h jeeps/../cet.h \ - jeeps/../cet_util.h jeeps/../inifile.h jeeps/../session.h \ - jeeps/../src/core/datetime.h jeeps/gpsport.h jeeps/gpsdevice.h \ - jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ - jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h \ - jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h \ - jeeps/gpsserial.h jeeps/../gbser.h + config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h cet.h cet_util.h \ + inifile.h session.h src/core/datetime.h jeeps/gpsport.h \ + jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ + jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ + jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ + jeeps/gpsproj.h jeeps/gpsserial.h jeeps/../gbser.h jeeps/gpsusbcommon.o: jeeps/gpsusbcommon.cc jeeps/gps.h jeeps/../defs.h \ - jeeps/../config.h jeeps/../queue.h jeeps/../zlib/zlib.h \ - jeeps/../zlib/zconf.h jeeps/../gbfile.h jeeps/../defs.h jeeps/../cet.h \ - jeeps/../cet_util.h jeeps/../inifile.h jeeps/../session.h \ - jeeps/../src/core/datetime.h jeeps/gpsport.h jeeps/gpsdevice.h \ - jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ - jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h \ - jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h \ - jeeps/garminusb.h jeeps/gpsusbcommon.h + config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h cet.h cet_util.h \ + inifile.h session.h src/core/datetime.h jeeps/gpsport.h \ + jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ + jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ + jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ + jeeps/gpsproj.h jeeps/garminusb.h jeeps/gpsusbcommon.h jeeps/gpsusbread.o: jeeps/gpsusbread.cc jeeps/gps.h jeeps/../defs.h \ - jeeps/../config.h jeeps/../queue.h jeeps/../zlib/zlib.h \ - jeeps/../zlib/zconf.h jeeps/../gbfile.h jeeps/../defs.h jeeps/../cet.h \ - jeeps/../cet_util.h jeeps/../inifile.h jeeps/../session.h \ - jeeps/../src/core/datetime.h jeeps/gpsport.h jeeps/gpsdevice.h \ - jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ - jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h \ - jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h \ - jeeps/garminusb.h jeeps/gpsusbint.h + config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h cet.h cet_util.h \ + inifile.h session.h src/core/datetime.h jeeps/gpsport.h \ + jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ + jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ + jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ + jeeps/gpsproj.h jeeps/garminusb.h jeeps/gpsusbint.h jeeps/gpsusbsend.o: jeeps/gpsusbsend.cc jeeps/gps.h jeeps/../defs.h \ - jeeps/../config.h jeeps/../queue.h jeeps/../zlib/zlib.h \ - jeeps/../zlib/zconf.h jeeps/../gbfile.h jeeps/../defs.h jeeps/../cet.h \ - jeeps/../cet_util.h jeeps/../inifile.h jeeps/../session.h \ - jeeps/../src/core/datetime.h jeeps/gpsport.h jeeps/gpsdevice.h \ - jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ - jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h \ - jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h \ - jeeps/garminusb.h jeeps/gpsusbint.h -jeeps/jgpsutil.o: jeeps/jgpsutil.cc jeeps/gps.h jeeps/../defs.h \ - jeeps/../config.h jeeps/../queue.h jeeps/../zlib/zlib.h \ - jeeps/../zlib/zconf.h jeeps/../gbfile.h jeeps/../defs.h jeeps/../cet.h \ - jeeps/../cet_util.h jeeps/../inifile.h jeeps/../session.h \ - jeeps/../src/core/datetime.h jeeps/gpsport.h jeeps/gpsdevice.h \ + config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h cet.h cet_util.h \ + inifile.h session.h src/core/datetime.h jeeps/gpsport.h \ + jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ + jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ + jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ + jeeps/gpsproj.h jeeps/garminusb.h jeeps/gpsusbint.h +jeeps/jgpsutil.o: jeeps/jgpsutil.cc jeeps/gps.h jeeps/../defs.h config.h \ + queue.h zlib/zlib.h zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h \ + session.h src/core/datetime.h jeeps/gpsport.h jeeps/gpsdevice.h \ jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h \ jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h jogmap.o: jogmap.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ - xmlgeneric.h jeeps/gpsmath.h jeeps/gps.h jeeps/../defs.h \ - jeeps/gpsport.h jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h \ - jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ - jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h \ - jeeps/gpsinput.h jeeps/gpsproj.h garmin_tables.h + xmlgeneric.h jeeps/gpsmath.h jeeps/gps.h jeeps/gpsport.h \ + jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ + jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ + jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h \ + garmin_tables.h jtr.o: jtr.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h \ - cet.h cet_util.h inifile.h session.h src/core/datetime.h csv_util.h \ - avltree.h + cet.h cet_util.h inifile.h session.h src/core/datetime.h csv_util.h kml.o: kml.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h \ cet.h cet_util.h inifile.h session.h src/core/datetime.h xmlgeneric.h \ grtcirc.h src/core/xmlstreamwriter.h @@ -900,11 +853,10 @@ mac/libusb/usb.o: mac/libusb/usb.c mac/libusb/usbi.h mac/libusb/usb.h \ mac/libusb/error.h mag_pdb.o: mag_pdb.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ - pdbfile.h jeeps/gpsmath.h jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h \ + pdbfile.h jeeps/gpsmath.h jeeps/gps.h jeeps/gpsport.h \ jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ - jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ - jeeps/gpsproj.h + jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h maggeo.o: maggeo.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ csv_util.h xmlgeneric.h magellan.h @@ -928,21 +880,20 @@ mapsend.o: mapsend.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ mapsource.o: mapsource.cc defs.h config.h queue.h zlib/zlib.h \ zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h session.h \ src/core/datetime.h garmin_tables.h jeeps/gpsmath.h jeeps/gps.h \ - jeeps/../defs.h jeeps/gpsport.h jeeps/gpsdevice.h jeeps/gpssend.h \ - jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h \ - jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsmem.h \ - jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h + jeeps/gpsport.h jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h \ + jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ + jeeps/gpsfmt.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ + jeeps/gpsproj.h mkshort.o: mkshort.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h mmo.o: mmo.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h \ - cet.h cet_util.h inifile.h session.h src/core/datetime.h avltree.h + cet.h cet_util.h inifile.h session.h src/core/datetime.h msroute.o: msroute.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ - jeeps/gpsmath.h jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h \ - jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ - jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ - jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ - jeeps/gpsproj.h + jeeps/gpsmath.h jeeps/gps.h jeeps/gpsport.h jeeps/gpsdevice.h \ + jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ + jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmem.h \ + jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h mtk_locus.o: mtk_locus.cc defs.h config.h queue.h zlib/zlib.h \ zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h session.h \ src/core/datetime.h gbser.h @@ -955,66 +906,59 @@ navicache.o: navicache.cc defs.h config.h queue.h zlib/zlib.h \ naviguide.o: naviguide.cc defs.h config.h queue.h zlib/zlib.h \ zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h session.h \ src/core/datetime.h csv_util.h jeeps/gpsmath.h jeeps/gps.h \ - jeeps/../defs.h jeeps/gpsport.h jeeps/gpsdevice.h jeeps/gpssend.h \ - jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h \ - jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsmem.h \ - jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h + jeeps/gpsport.h jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h \ + jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ + jeeps/gpsfmt.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ + jeeps/gpsproj.h navilink.o: navilink.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ - gbser.h jeeps/gpsmath.h jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h \ - jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ - jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ - jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ - jeeps/gpsproj.h navilink.h + gbser.h jeeps/gpsmath.h jeeps/gps.h jeeps/gpsport.h jeeps/gpsdevice.h \ + jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ + jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmem.h \ + jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h navilink.h navitel.o: navitel.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ - jeeps/gpsmath.h jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h \ - jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ - jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ - jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ - jeeps/gpsproj.h + jeeps/gpsmath.h jeeps/gps.h jeeps/gpsport.h jeeps/gpsdevice.h \ + jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ + jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmem.h \ + jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h netstumbler.o: netstumbler.cc defs.h config.h queue.h zlib/zlib.h \ zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h session.h \ src/core/datetime.h csv_util.h nmea.o: nmea.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h \ cet.h cet_util.h inifile.h session.h src/core/datetime.h gbser.h \ - strptime.h jeeps/gpsmath.h jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h \ + strptime.h jeeps/gpsmath.h jeeps/gps.h jeeps/gpsport.h \ jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ - jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ - jeeps/gpsproj.h + jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h nmn4.o: nmn4.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h \ cet.h cet_util.h inifile.h session.h src/core/datetime.h csv_util.h nukedata.o: nukedata.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ filterdefs.h osm.o: osm.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h \ - cet.h cet_util.h inifile.h session.h src/core/datetime.h avltree.h \ - xmlgeneric.h + cet.h cet_util.h inifile.h session.h src/core/datetime.h xmlgeneric.h overlay.o: overlay.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ grtcirc.h ozi.o: ozi.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h \ cet.h cet_util.h inifile.h session.h src/core/datetime.h csv_util.h \ - jeeps/gpsmath.h jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h \ - jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ - jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ - jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ - jeeps/gpsproj.h + jeeps/gpsmath.h jeeps/gps.h jeeps/gpsport.h jeeps/gpsdevice.h \ + jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ + jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmem.h \ + jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h palmdoc.o: palmdoc.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ - jeeps/gpsmath.h jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h \ - jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ - jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ - jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ - jeeps/gpsproj.h pdbfile.h + jeeps/gpsmath.h jeeps/gps.h jeeps/gpsport.h jeeps/gpsdevice.h \ + jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ + jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmem.h \ + jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h pdbfile.h parse.o: parse.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ - jeeps/gpsmath.h jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h \ - jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ - jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ - jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ - jeeps/gpsproj.h strptime.h + jeeps/gpsmath.h jeeps/gps.h jeeps/gpsport.h jeeps/gpsdevice.h \ + jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ + jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmem.h \ + jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h strptime.h pathaway.o: pathaway.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ csv_util.h pdbfile.h strptime.h @@ -1053,11 +997,10 @@ radius.o: radius.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ filterdefs.h grtcirc.h random.o: random.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ - garmin_fs.h jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h \ - jeeps/gpsdevice.h jeeps/gps.h jeeps/gpssend.h jeeps/gpsread.h \ - jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ - jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h \ - jeeps/gpsinput.h jeeps/gpsproj.h jeeps/gpsmath.h + garmin_fs.h jeeps/gps.h jeeps/gpsport.h jeeps/gpsdevice.h \ + jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ + jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h \ + jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h raymarine.o: raymarine.cc defs.h config.h queue.h zlib/zlib.h \ zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h session.h \ src/core/datetime.h csv_util.h @@ -1100,11 +1043,11 @@ stackfilter.o: stackfilter.cc defs.h config.h queue.h zlib/zlib.h \ src/core/datetime.h filterdefs.h stmsdf.o: stmsdf.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ - csv_util.h strptime.h jeeps/gpsmath.h jeeps/gps.h jeeps/../defs.h \ - jeeps/gpsport.h jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h \ - jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ - jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h \ - jeeps/gpsinput.h jeeps/gpsproj.h grtcirc.h + csv_util.h strptime.h jeeps/gpsmath.h jeeps/gps.h jeeps/gpsport.h \ + jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ + jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ + jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h \ + grtcirc.h stmwpp.o: stmwpp.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ csv_util.h @@ -1121,11 +1064,10 @@ teletype.o: teletype.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h text.o: text.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h \ cet.h cet_util.h inifile.h session.h src/core/datetime.h \ - jeeps/gpsmath.h jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h \ - jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ - jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ - jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ - jeeps/gpsproj.h + jeeps/gpsmath.h jeeps/gps.h jeeps/gpsport.h jeeps/gpsdevice.h \ + jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ + jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmem.h \ + jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h tiger.o: tiger.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ csv_util.h @@ -1136,18 +1078,16 @@ tomtom.o: tomtom.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h tpg.o: tpg.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h \ cet.h cet_util.h inifile.h session.h src/core/datetime.h \ - jeeps/gpsmath.h jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h \ - jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ - jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ - jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ - jeeps/gpsproj.h + jeeps/gpsmath.h jeeps/gps.h jeeps/gpsport.h jeeps/gpsdevice.h \ + jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ + jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmem.h \ + jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h tpo.o: tpo.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h \ cet.h cet_util.h inifile.h session.h src/core/datetime.h \ - jeeps/gpsmath.h jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h \ - jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ - jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ - jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ - jeeps/gpsproj.h + jeeps/gpsmath.h jeeps/gps.h jeeps/gpsport.h jeeps/gpsdevice.h \ + jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ + jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmem.h \ + jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h trackfilter.o: trackfilter.cc defs.h config.h queue.h zlib/zlib.h \ zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h session.h \ src/core/datetime.h filterdefs.h strptime.h grtcirc.h xmlgeneric.h @@ -1156,31 +1096,29 @@ transform.o: transform.cc defs.h config.h queue.h zlib/zlib.h \ src/core/datetime.h filterdefs.h unicsv.o: unicsv.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ - csv_util.h garmin_fs.h jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h \ - jeeps/gpsdevice.h jeeps/gps.h jeeps/gpssend.h jeeps/gpsread.h \ - jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ - jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h \ - jeeps/gpsinput.h jeeps/gpsproj.h garmin_tables.h jeeps/gpsmath.h + csv_util.h garmin_fs.h jeeps/gps.h jeeps/gpsport.h jeeps/gpsdevice.h \ + jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ + jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h \ + jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h \ + garmin_tables.h units.o: units.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h util.o: util.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h \ cet.h cet_util.h inifile.h session.h src/core/datetime.h \ - jeeps/gpsmath.h jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h \ - jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ - jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ - jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ - jeeps/gpsproj.h + jeeps/gpsmath.h jeeps/gps.h jeeps/gpsport.h jeeps/gpsdevice.h \ + jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ + jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmem.h \ + jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h util_crc.o: util_crc.cc uuid.o: uuid.cc uuid.h v900.o: v900.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h \ cet.h cet_util.h inifile.h session.h src/core/datetime.h vcf.o: vcf.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h \ cet.h cet_util.h inifile.h session.h src/core/datetime.h \ - jeeps/gpsmath.h jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h \ - jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ - jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ - jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ - jeeps/gpsproj.h + jeeps/gpsmath.h jeeps/gps.h jeeps/gpsport.h jeeps/gpsdevice.h \ + jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ + jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmem.h \ + jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h vecs.o: vecs.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h \ cet.h cet_util.h inifile.h session.h src/core/datetime.h csv_util.h \ gbversion.h @@ -1197,11 +1135,10 @@ vpl.o: vpl.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h \ cet.h cet_util.h inifile.h session.h src/core/datetime.h waypt.o: waypt.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ - grtcirc.h garmin_fs.h jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h \ - jeeps/gpsdevice.h jeeps/gps.h jeeps/gpssend.h jeeps/gpsread.h \ - jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h \ - jeeps/gpsfmt.h jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h \ - jeeps/gpsinput.h jeeps/gpsproj.h + grtcirc.h garmin_fs.h jeeps/gps.h jeeps/gpsport.h jeeps/gpsdevice.h \ + jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ + jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmath.h \ + jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h wbt-200.o: wbt-200.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ gbser.h grtcirc.h @@ -1213,11 +1150,10 @@ wintec_tes.o: wintec_tes.cc defs.h config.h queue.h zlib/zlib.h \ src/core/datetime.h xcsv.o: xcsv.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h \ cet.h cet_util.h inifile.h session.h src/core/datetime.h csv_util.h \ - jeeps/gpsmath.h jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h \ - jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ - jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ - jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ - jeeps/gpsproj.h + jeeps/gpsmath.h jeeps/gps.h jeeps/gpsport.h jeeps/gpsdevice.h \ + jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ + jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmem.h \ + jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h xhtmlent.o: xhtmlent.cc xmlgeneric.o: xmlgeneric.cc defs.h config.h queue.h zlib/zlib.h \ zlib/zconf.h gbfile.h cet.h cet_util.h inifile.h session.h \ @@ -1226,11 +1162,10 @@ xmltag.o: xmltag.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h xol.o: xol.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h gbfile.h \ cet.h cet_util.h inifile.h session.h src/core/datetime.h xmlgeneric.h \ - jeeps/gpsmath.h jeeps/gps.h jeeps/../defs.h jeeps/gpsport.h \ - jeeps/gpsdevice.h jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h \ - jeeps/gpsapp.h jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h \ - jeeps/gpsmath.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ - jeeps/gpsproj.h garmin_tables.h + jeeps/gpsmath.h jeeps/gps.h jeeps/gpsport.h jeeps/gpsdevice.h \ + jeeps/gpssend.h jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h \ + jeeps/gpsprot.h jeeps/gpscom.h jeeps/gpsfmt.h jeeps/gpsmem.h \ + jeeps/gpsrqst.h jeeps/gpsinput.h jeeps/gpsproj.h garmin_tables.h yahoo.o: yahoo.cc defs.h config.h queue.h zlib/zlib.h zlib/zconf.h \ gbfile.h cet.h cet_util.h inifile.h session.h src/core/datetime.h \ xmlgeneric.h diff --git a/gpsbabel/avltree.cc b/gpsbabel/avltree.cc deleted file mode 100644 index 1f5400000..000000000 --- a/gpsbabel/avltree.cc +++ /dev/null @@ -1,790 +0,0 @@ -/* - - AVL tree implementation. - - Copyright (C) 2008 Olaf Klein, o.b.klein@gpsbabel.org - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA - -*/ - -#include "avltree.h" - -#define MYNAME "avltree" - -#ifdef DEBUG_MEM -# define AVLTREE_MAGIC 0x41564c53 -/* ((((((0L | 'A') << 8) | 'V') << 8) | 'L') << 8) | 'T'; */ -#endif - -#ifdef MEM_DEBUG -void avltree_check_handle(const void* tree); -#endif -static void avltree_node_free(const avltree_t* tree, avlnode_t* node); -static int avltree_node_height(avlnode_t* node); -static int avltree_insert_node(avltree_t* tree, avlnode_t** root, const char* key, const void* data); -static int avltree_delete_node(avltree_t* tree, const char* key, avlnode_t** root, int* changed); -static avlnode_t* avltree_right_rotation(avlnode_t* A); -static avlnode_t* avltree_left_rotation(avlnode_t* A); -static avlnode_t* avltree_left_right_rotation(avlnode_t* A); -static avlnode_t* avltree_right_left_rotation(avlnode_t* A); -static avlnode_t* avltree_dupe_node(const avltree_t* tree, const avlnode_t* node); -static int avltree_strcmpr(const char* s1, const char* s2); -static int avltree_case_ignore_strcmpr(const char* s1, const char* s2); -static avlnode_t* avltree_find_next(const avltree_t* tree, avlnode_t* node, const char* key); -static void avltree_save_key(avltree_t* tree, const char* key); - - -#ifdef MEM_DEBUG -# define AVLTREE_CHECK_HANDLE(a) avltree_valid_tree(a) -#else -# define AVLTREE_CHECK_HANDLE(a) -#endif - -#define AVLTREE_INVALID_BALANCE "%s/%s.%d: Invalid balance %d at node \"%s\"!\n", \ - tree->module, MYNAME, __LINE__, node->balance, node->key - - -/* Allocate and initialize an AVL Tree */ - -avltree_t* -avltree_init(const int options, const char* module) -{ - avltree_t* tree; - - if ((module == NULL) || (*module == '\0')) { - fatal(MYNAME ": 'avltree_init' should be called with a valid module name!\n"); - } - - tree = (avltree_t*) xcalloc(1, sizeof(*tree)); - tree->options = options; - tree->module = module; - - if (options & AVLTREE_NON_CASE_SENSITIVE) { - if (options & AVLTREE_DESCENDING) { - tree->compare = avltree_case_ignore_strcmpr; /* descending, non-case-sensitive */ - } else { - tree->compare = case_ignore_strcmp; /* ascending, non-case-sensitive */ - } - } else { - if (options & AVLTREE_DESCENDING) { - tree->compare = avltree_strcmpr; /* descending, case-sensitive */ - } else { - tree->compare = strcmp; /* ascending, case-sensitive */ - } - } - - return tree; -} - -/* Delete all items of tree [tree] */ - -int -avltree_clear(avltree_t* tree) -{ - int res; - - AVLTREE_CHECK_HANDLE(tree); - - res = tree->count; - avltree_save_key(tree, NULL); - if (res) { - avltree_node_free(tree, tree->root); - /* avltree_node_free doesn't touch 'count' */ - tree->count = 0; - tree->root = NULL; - } - return res; -} - -/* Destroy an AVL Tree */ - -void -avltree_done(avltree_t* tree) -{ - avltree_clear(tree); - xfree(tree); -} - - -/* Get number of items in tree */ - -int -avltree_count(const avltree_t* tree) -{ - AVLTREE_CHECK_HANDLE(tree); - - return tree->count; -} - - -/* Delete item with key [key] */ - -int -avltree_delete(avltree_t* tree, const char* key) -{ - int changed = 0; - - AVLTREE_CHECK_HANDLE(tree); - - if (key == NULL) - fatal("%s/%s.%d: Attempt to delete a NULL-pointer!\n", - tree->module, MYNAME, __LINE__); - - return avltree_delete_node(tree, key, &tree->root, &changed); -} - - -/* Duplicate an existing tree */ - -avltree_t* -avltree_dupe(const avltree_t* tree, const char* module) -{ - avltree_t* dupe; - - AVLTREE_CHECK_HANDLE(tree); - - dupe = avltree_init(tree->options, module); - if ((dupe->count = tree->count)) { - dupe->root = avltree_dupe_node(tree, tree->root); - } - - return dupe; -} - - -/* Find key [key] in tree */ - -int -avltree_find(const avltree_t* tree, const char* key, const void** data) -{ - avlnode_t* node; - - AVLTREE_CHECK_HANDLE(tree); - - node = tree->root; - while (node) { - int compare = tree->compare(key, node->key); - - if (compare < 0) { - node = node->left; - } else if (compare > 0) { - node = node->right; - } else { - if (data) { - (*data) = node->data; - } - break; - } - } - - return (node) ? 1 : 0; -} - -int -avltree_find(const avltree_t* tree, const QString& key, const void** data) -{ - const char*t = xstrdup(key.toUtf8().data()); - int r = avltree_find(tree, t, data); - xfree(t); - return r; - -} - - -/* Get the first (the MIN-) entry of the tree */ - -const char* -avltree_first(const avltree_t* tree, const void** data) -{ - avlnode_t* node; - - AVLTREE_CHECK_HANDLE(tree); - - node = tree->root; - if (! node) { - return NULL; - } - - while (node->left) { - node = node->left; - } - avltree_save_key((avltree_t*)tree, node->key); - if (data) { - (*data) = node->data; - } - - return tree->key; -} - - -/* Get the current height of the tree */ - -int -avltree_height(const avltree_t* tree) -{ - AVLTREE_CHECK_HANDLE(tree); - - if (tree->count) { - return avltree_node_height(tree->root); - } else { - return 0; - } -} - - -/* Insert key [key] and [data] into tree */ - -int -avltree_insert(avltree_t* tree, const char* key, const void* data) -{ - int count; - - AVLTREE_CHECK_HANDLE(tree); - - if (key == NULL) - fatal("%s/%s.%d: Attempt to insert a NULL-pointer!\n", - tree->module, MYNAME, __LINE__); - - count = tree->count; - avltree_insert_node(tree, &tree->root, key, data); - return (count != tree->count) ? 1 : 0; -} - - -/* Get the next (the entry above [key]) */ - -const char* -avltree_next(const avltree_t* tree, const char* key, const void** data) -{ - avlnode_t* node; - - AVLTREE_CHECK_HANDLE(tree); - - if (key == NULL) - fatal("%s/%s.%d: Attempt to look for a NULL-pointer!\n", - tree->module, MYNAME, __LINE__); - - node = tree->root; - if (! node) { - return NULL; - } - - if ((node = avltree_find_next(tree, node, key))) { - avltree_save_key((avltree_t*)tree, node->key); - if (data) { - (*data) = node->data; - } - } else { - avltree_save_key((avltree_t*)tree, NULL); - } - - return tree->key; -} - - -/* ------------------------------ static stuff ------------------------------ */ - - -#ifdef MEM_DEBUG - -void -avltree_check_handle(const avltree_t* tree) -{ - if (! tree) { - fatal(MYNAME ": Invalid (NULL-) pointer!\n"); - } - if (tree->magic != AVLTREE_MAGIC) { - fatal(MYNAME ": Invalid (no AVL tree object) pointer!\n"); - } -} - -#endif - - -static void -avltree_node_free(const avltree_t* tree, avlnode_t* node) -{ - if ((!(tree->options & AVLTREE_STATIC_KEYS)) && node->key) { - xfree((char*)node->key); - } - if (node->left) { - avltree_node_free(tree, node->left); - } - if (node->right) { - avltree_node_free(tree, node->right); - } - xfree(node); -} - - -static int -avltree_node_height(avlnode_t* node) -{ - int height = 1; - - if (node->balance < 0) { - height += avltree_node_height(node->left); - } else if (node->right) { - height += avltree_node_height(node->right); - } - - return height; -} - - -static avlnode_t* -avltree_right_rotation(avlnode_t* A) -{ - /* - > A B - > / \ / \ - > \ / \ - > B -->> A . - > / \ / \ / \ - > \ - > . - > / \ - */ - avlnode_t* B; - - B = A->right; - A->right = B->left; - B->left = A; - - /* update balance of all touched nodes */ - /* reference: */ - - B->balance--; - A->balance = -(B->balance); - - return B; -} - - -static avlnode_t* -avltree_left_rotation(avlnode_t* A) -{ - /* - > A B - > / \ / \ - > / / \ - > B -->> . A - > / \ / \ / \ - > / - > . - > / \ - */ - avlnode_t* B; - - B = A->left; - A->left = B->right; - B->right = A; - - /* update balance of all touched nodes */ - /* reference: */ - - B->balance++; - A->balance = -(B->balance); - - return B; -} - - -static avlnode_t* -avltree_left_right_rotation(avlnode_t* A) -{ - /* - > A C - > / \ / \ - > / / \ - > B -->> B A - > / \ / \ / \ - > \ - > C - */ - avlnode_t* B, *C; - - B = A->left; - C = B->right; - A->left = C->right; - B->right = C->left; - C->right = A; - C->left = B; - - /* update balance of all touched nodes */ - /* reference: */ - - A->balance = (C->balance > 0) ? 0 : -(C->balance); - B->balance = (C->balance < 0) ? 0 : -(C->balance); - C->balance = 0; - - return C; -} - - -static avlnode_t* -avltree_right_left_rotation(avlnode_t* A) -{ - /* - > A C - > / \ / \ - > \ / \ - > B -->> B A - > / \ / \ / \ - > / - > C - */ - avlnode_t* B, *C; - - B = A->right; - C = B->left; - A->right = C->left; - B->left = C->right; - C->left = A; - C->right = B; - - /* update balance of all touched nodes */ - /* reference: */ - - A->balance = (C->balance < 0) ? 0 : -(C->balance); - B->balance = (C->balance > 0) ? 0 : -(C->balance); - C->balance = 0; - - return C; -} - - -static int -avltree_insert_node(avltree_t* tree, avlnode_t** root, const char* key, const void* data) -{ - int changed = 0; - int compare; - avlnode_t* node = (*root); - - if (node == NULL) { - (*root) = node = (avlnode_t*) xcalloc(1, sizeof(*node)); - if (tree->options & AVLTREE_STATIC_KEYS) { - node->key = key; - } else { - node->key = xstrdup(key); - } - node->data = data; - tree->count++; - return 1; /* anyway, our tree has been changed */ - } - - compare = tree->compare(key, node->key); - - if (compare < 0) { - if (avltree_insert_node(tree, &node->left, key, data)) { - changed = (--node->balance != 0); - switch (node->balance) { - case -2: - if (node->left->balance < 0) { - node = avltree_left_rotation(node); - } else { - node = avltree_left_right_rotation(node); - } - (*root) = node; - case 0: - changed = 0; - case -1: - break; - default: - /* should be impossible :-) */ - fatal(AVLTREE_INVALID_BALANCE); - } - } else { - changed = 0; - } - } else if (compare > 0) { - if (avltree_insert_node(tree, &node->right, key, data)) { - changed = (++node->balance != 0); - switch (node->balance) { - case +2: - if (node->right->balance > 0) { - node = avltree_right_rotation(node); - } else { - node = avltree_right_left_rotation(node); - } - (*root) = node; - case 0: - changed = 0; - case +1: - break; - default: - /* should be impossible :-) */ - fatal(AVLTREE_INVALID_BALANCE); - } - } else { - changed = 0; - } - } else { - if (tree->options & AVLTREE_PARANOIAC) - fatal("%s/%s.%d: Duplicate keys are not allowed (\"%s\")!\n", - tree->module, MYNAME, __LINE__, key); - changed = 0; - } - - return changed; -} - - - -static int -avltree_delete_node(avltree_t* tree, const char* key, avlnode_t** root, int* changed) -{ - avlnode_t* node = (*root); - int deleted = 0; - int compare; - - if (node == NULL) { - if (tree->options & AVLTREE_PARANOIAC) - fatal("%s/%s.%d: Key to delete \"%s\" not found!\n", - tree->module, MYNAME, __LINE__, key); - return 0; - } - - compare = tree->compare(key, node->key); - - if (compare < 0) { - deleted = avltree_delete_node(tree, key, &node->left, changed); - if (*changed) { - node->balance++; /* shift weight to right */ - switch (node->balance) { - case +1: - (*changed) = 0; /* stop rebalancing */ - case 0: - break; - case +2: - if (node->right->balance >= 0) { - node = avltree_right_rotation(node); - } else { - node = avltree_right_left_rotation(node); - } - (*root) = node; - if (node->balance == -1) { - (*changed) = 0; - } - break; - default: - /* should be impossible :-) */ - fatal(AVLTREE_INVALID_BALANCE); - } - } - } else if (compare > 0) { - deleted = avltree_delete_node(tree, key, &node->right, changed); - if (*changed) { - node->balance--; /* shift weight to left */ - switch (node->balance) { - case -1: - (*changed) = 0; /* stop rebalancing */ - case 0: - break; - case -2: - if (node->left->balance <= 0) { - node = avltree_left_rotation(node); - } else { - node = avltree_left_right_rotation(node); - } - (*root) = node; - if (node->balance == +1) { - (*changed) = 0; - } - break; - default: - /* should be impossible :-) */ - fatal(AVLTREE_INVALID_BALANCE); - } - } - } else { - if (node->left) { - if (node->right) { - const char* temp_key; - const void* temp_data; - avlnode_t* succ = node->right; - - while (succ->left) { - succ = succ->left; /* find successor */ - } - - temp_key = succ->key; /* swap contents */ - temp_data = succ->data; - succ->key = node->key; - succ->data = node->data; - node->key = temp_key; - node->data = temp_data; - - deleted = avltree_delete_node(tree, key, &node->right, changed); - - if (*changed) { - node->balance--; /* shift weight to left */ - switch (node->balance) { - case -1: - (*changed) = 0; /* stop rebalancing */ - case 0: - break; - case -2: - if (node->left->balance <= 0) { - node = avltree_left_rotation(node); - } else { - node = avltree_left_right_rotation(node); - } - (*root) = node; - if (node->balance == +1) { - (*changed) = 0; - } - break; - default: - /* should be impossible :-) */ - fatal(AVLTREE_INVALID_BALANCE); - } - } - return deleted; - } else { /* only left branch */ - (*root) = node->left; - node->left = NULL; - } - } else if (node->right) { /* only right branch */ - (*root) = node->right; - node->right = NULL; - } else { /* only a simple leaf */ - (*root) = NULL; - } - - avltree_node_free(tree, node); - tree->count--; - (*changed) = 1; - deleted = 1; - } - - return deleted; -} - - -static avlnode_t* -avltree_dupe_node(const avltree_t* tree, const avlnode_t* node) -{ - avlnode_t* res = (avlnode_t*) xcalloc(1, sizeof(*res)); - - if (tree->options & AVLTREE_STATIC_KEYS) { - res->key = node->key; - } else { - res->key = xstrdup(node->key); - } - - res->balance = node->balance; - if (node->left) { - res->left = avltree_dupe_node(tree, node->left); - } - if (node->right) { - res->right = avltree_dupe_node(tree, node->right); - } - - return res; -} - - -static int -avltree_strcmpr(const char* s1, const char* s2) -{ - return -(strcmp(s1, s2)); -} - - -static int -avltree_case_ignore_strcmpr(const char* s1, const char* s2) -{ - return -(case_ignore_strcmp(s1, s2)); -} - - -static avlnode_t* -avltree_find_next(const avltree_t* tree, avlnode_t* node, const char* key) -{ - avlnode_t* prev = NULL; - - if (key == NULL) { - if ((node = tree->root)) { - while (node->left) { - node = node->left; - } - } - return node; - } - - while (node) { - int compare = tree->compare(key, node->key); - - if (compare < 0) { - prev = node; - node = node->left; - } else if (compare > 0) { - node = node->right; - } else { - if ((node = node->right)) - while (node->left) { - node = node->left; - } - else { - node = prev; - } - return node; - } - } - /* The previous node was deleted and we could not find it. */ - return prev; -} - - -/* - Save [key] for a possible delete before next op. Now we have no problem with: - - curr = NULL; - while ((curr = avtree_next(tree, curr, NULL))) { - avltree_delete(tree, curr); - } - */ -static void -avltree_save_key(avltree_t* tree, const char* key) -{ - if (tree->options & AVLTREE_STATIC_KEYS) { - tree->key = key; - } else { - if (key == NULL) { - if (tree->key_sz) { - xfree((char*)tree->key); - tree->key_sz = 0; - } - tree->key = NULL; - } else { - int n, n8; - - n = strlen(key) + 1; - n8 = ((n + 7) / 8) * 8; - - if (n8 > tree->key_sz) { - if (tree->key_sz == 0) { - tree->key = (char*) xmalloc(n8); - } else { - tree->key = (char*) xrealloc((char*)tree->key, n8); - } - tree->key_sz = n8; - } - strncpy((char*)tree->key, key, n); - } - } -} diff --git a/gpsbabel/avltree.h b/gpsbabel/avltree.h deleted file mode 100644 index 2ef88c79d..000000000 --- a/gpsbabel/avltree.h +++ /dev/null @@ -1,97 +0,0 @@ -/* - - AVL tree implementation. - - Copyright (C) 2008 Olaf Klein, o.b.klein@gpsbabel.org - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA - -*/ - -#ifndef AVLTREE_H_INCLUDED -#define AVLTREE_H_INCLUDED - -#include "defs.h" -#include -#include - -typedef int (*avltree_compare_cb)(const char*, const char*); - -typedef struct avltree_s { -#ifdef MEM_DEBUG - const int magic; -#endif - struct avlnode_s* root; - const char* module; - int count; /* number of items in tree */ - int options; - const char* key; - int key_sz; - avltree_compare_cb compare; -} avltree_t; - -typedef struct avlnode_s { - int balance; - const char* key; - const void* data; - struct avlnode_s* left; - struct avlnode_s* right; -} avlnode_t; - -/* options for avltree_init */ - -#define AVLTREE_ASCENDING 0 /* default */ -#define AVLTREE_DESCENDING 1 -#define AVLTREE_CASE_SENSITIVE 0 /* default */ -#define AVLTREE_NON_CASE_SENSITIVE 2 -#define AVLTREE_STATIC_KEYS 128 -#define AVLTREE_PARANOIAC 256 /* STOP on "duplicate key" (insert) or on "not found" (delete) */ - -/* Allocate and initialize an AVL Tree */ -avltree_t* avltree_init(const int options, const char* module); - -/* Destroy an AVL Tree */ -void avltree_done(avltree_t* tree); - -/* Delete all items of tree [tree]; returns number of deleted items */ -int avltree_clear(avltree_t* tree); - -/* Get number of items in tree */ -int avltree_count(const avltree_t* tree); - -/* Delete item with key [key] */ -int avltree_delete(avltree_t* tree, const char* key); - -/* Duplicate an existing tree */ -avltree_t* avltree_dupe(const avltree_t* tree, const char* module); - -/* Find key [key] in tree */ -int avltree_find(const avltree_t* tree, const char* key, const void** data); -int avltree_find(const avltree_t* tree, const QString& key, const void** data); - -/* Get the first (the MIN-) entry of the tree */ -const char* avltree_first(const avltree_t* tree, const void** data); - -/* Get the current height of the tree */ -int avltree_height(const avltree_t* tree); - -/* Insert key [key] and [data] into tree */ -int avltree_insert(avltree_t* tree, const char* key, const void* data); - -/* Get the next (the entry above [key]) */ -const char* avltree_next(const avltree_t* tree, const char* key, const void** data); - - -#endif /* AVLTREE_H_INCLUDED */ diff --git a/gpsbabel/msvc/GPSBabel.vcxproj b/gpsbabel/msvc/GPSBabel.vcxproj index 773c03238..0832596d3 100644 --- a/gpsbabel/msvc/GPSBabel.vcxproj +++ b/gpsbabel/msvc/GPSBabel.vcxproj @@ -98,7 +98,6 @@ - @@ -311,7 +310,6 @@ - -- 2.30.2